import logging
class Logger(logging.Logger):
    #初始化
    def __init__(self,name='Dash',cmd_level=logging.DEBUG,file_level=logging.DEBUG):

        super().__init__(name)
        try:
            #设置日志级别
            self.setLevel(cmd_level)
            #设置日志打印格式
            fmt = logging.Formatter('[%(asctime)s] %(filename)s --> %(funcName)s %(message)s')
            #创建日志存储file
            self.log_file = '../logs/runlog.txt'
            #将日志发送一个流，默认控制台
            sh = logging.StreamHandler()
            #设置控制台输出格式
            sh.setFormatter(fmt)
            #设置控制台输出级别
            sh.setLevel(cmd_level)
            #将日志发送到文件流
            fh = logging.FileHandler(self.log_file,'a',encoding='utf-8')
            #设置级别
            fh.setLevel(file_level)
            #设置格式
            fh.setFormatter(fmt)
            #添加日志输出方式
            self.addHandler(sh)
            self.addFilter(fh)
        except Exception as e:
            raise e
logger = Logger()


if __name__ == '__main__':
    logger.info('aaa')